package JDBC;
import java.sql.*;


public class TestDB {
	public static void main(String[] args) throws Exception {
		String url="jdbc:mysql://localhost:3306/jssDB";
		Connection con=null;		
		String id="root";
		String pass="";
		Statement stmt =null;
		PreparedStatement pstmt=null;
		
		ResultSet rs =null;
		String sql = "Create table MyTest(name varchar(20), age int) ";
	//	String sql_insert = "Insert into MyTest values (?,?)";

	     

		
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con=DriverManager.getConnection(url,id,pass);
			System.out.println("mysql 접속 성공");
			//stmt = con.createStatement();
			/*
		    stmt.executeUpdate(sql);//SQL 문은,INSERT 문,UPDATE 문,DELETE 문, 또는 SQL DDL 문과 같은 아무것도 돌려주지 않는 SQL   
		    System.out.println(" MyTest 테이블 생성 OK!" );
		    */
		   // pstmt = con.prepareStatement(sql_insert);
		    //pstmt.setString(1, "nkjojp");
		    //pstmt.setInt(2, 5);
		    //pstmt.execute();
		    /*execute 메소드는,boolean 를 돌려주어 
		     * 최초의 결과의 형식을 나타냅니다. 
		     * getResultSet 또는 getUpdateCount 메소드를 호출해 
		     * 결과를 가져옵니다. 그리고,getMoreResults 를 호출해 
		     * 계속 임의의 결과의 취득 (복수가능)으로 이동합니다. 
		     */
		    System.out.println(" MyTest 테이블에 데이터 삽입 OK!");
		    
		    stmt = con.createStatement();
		    sql = "Select * from MyTest ";
		    rs = stmt.executeQuery(sql);
		    System.out.println(" MyTest 테이블에서 ResultSet 가져오기 OK!");

		       while(rs.next()){
		       System.out.println("name : " + "\t" + rs.getString(1));
		       System.out.println("age : " + "\t" + rs.getInt(2));
		       }
			
		} catch (ClassNotFoundException e) {
			System.out.println("드라이버 로드안됨");

		}catch(SQLException e) { //예외처리
			   System.out.println("SQl오류");
			   e.printStackTrace();
		}finally{
		     rs.close();
		     pstmt.close();
		     stmt.close();
		     con.close();  
		}


		

	}

}
